// 13：在知识点6中，我们提到了成员函数的函数体中避免虚函数的问题，因为这会导致函数的自我调用，导致无限循环，此处派生类的print()函数中使用的print()函数会自动被解析为对自身的调用。所以应加上作用域限定符：

// base::print(os);